# 常见单词 　访问古登堡计划，找一些你想分析的
# 图书。下载这些作品的文本文件或将浏览器中的原始文本复制
# 到文本文件中。
# 可以使用方法count() 来确定特定的单词或短语在字符串中出
# 现了多少次。例如，下面的代码计算'row' 在一个字符串中出
# 现了多少次：

# >>> line = "Row, row, row your boat"
# >>> line.count('row')
# 2
# >>> line.lower().count('row')
# 3

# 请注意，通过使用lower() 将字符串转换为小写，可捕捉要查
# 找单词的所有格式，而不管其大小写如何。
# 编写一个程序，它读取你在古登堡计划中获取的文件，并计算
# 单词'the' 在每个文件中分别出现了多少次。这里计算得到的
# 结果并不准确，因为将诸如'then' 和'there' 等单词也计算
# 在内了。请尝试计算'the ' （包含空格）出现的次数，看看
# 结果相差多少。

def count_string(filename, string):
	"""计算一个文件大致包含多少个单词string。"""
	try:
		with open(filename, encoding='utf-8') as f:
			contents = f.read()
	except FileNotFoundError:
		print(f"Sorry, the file {filename} does not exist.")
	else:
		count_num = contents.lower().count(string)
		print(f"The string {string} exists about {count_num} times.")
		return count_num

filename = 'little_women.txt'
count1 = count_string(filename, 'the')
count2 = count_string(filename, 'the ')
print(f"the results' difference is {count1 - count2}.")

